/*
*---------------------------------------------------------------
*                        Lvgl Font Tool                         
*                                                               
* 注:使用unicode编码                                              
* 注:本字体文件由Lvgl Font Tool V0.5测试版 生成                     
* 作者:阿里(qq:617622104)                                         
*---------------------------------------------------------------
*/


#include "../../lvgl/lvgl.h"


static const uint8_t glyph_bitmap[] = {
/*   */
0x00,  //.


/* 入 */
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  //...................
0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,  //......@@...........
0x00,0x00,0x00,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,  //........@..........
0x00,0x00,0x00,0x0f,0xf0,0x00,0x00,0x00,0x00,0x00,  //.......@@..........
0x00,0x00,0x00,0x0f,0x0f,0x00,0x00,0x00,0x00,0x00,  //.......@.@.........
0x00,0x00,0x00,0x0f,0x0f,0x00,0x00,0x00,0x00,0x00,  //.......@.@.........
0x00,0x00,0x00,0xf0,0x00,0xf0,0x00,0x00,0x00,0x00,  //......@...@........
0x00,0x00,0x00,0xf0,0x00,0xff,0x00,0x00,0x00,0x00,  //......@...@@.......
0x00,0x00,0x0f,0x00,0x00,0x0f,0x00,0x00,0x00,0x00,  //.....@.....@.......
0x00,0x00,0xf0,0x00,0x00,0x00,0xf0,0x00,0x00,0x00,  //....@.......@......
0x00,0x0f,0x00,0x00,0x00,0x00,0xff,0xf0,0x00,0x00,  //...@........@@@....
0x00,0xf0,0x00,0x00,0x00,0x00,0x0f,0xff,0xf0,0x00,  //..@..........@@@@..
0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,  //.@............@@@@.


/* 密 */
0x00,0x00,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,  //.......@.........
0x00,0x00,0x00,0x0f,0xf0,0x00,0x00,0x00,0x00,  //.......@@........
0x00,0xf0,0x00,0x00,0x00,0xff,0xff,0xf0,0x00,  //..@.......@@@@@..
0x00,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0x00,  //..@@@@@@@@....@@.
0x0f,0xf0,0x0f,0x00,0x00,0xf0,0x0f,0x00,0x00,  //.@@..@....@..@...
0x0f,0x00,0x00,0xff,0x0f,0x00,0x00,0x00,0x00,  //.@....@@.@.......
0x00,0x00,0x00,0x00,0x0f,0x00,0xff,0x00,0x00,  //.........@..@@...
0x00,0xf0,0x0f,0x00,0xf0,0x00,0x00,0xf0,0x00,  //..@..@..@.....@..
0x0f,0xf0,0x0f,0x0f,0x00,0x0f,0x00,0x00,0x00,  //.@@..@.@...@.....
0x0f,0x00,0x00,0xff,0xff,0xff,0xf0,0x00,0x00,  //.@....@@@@@@@....
0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,  //....@@...........
0x00,0x0f,0x00,0x0f,0xf0,0x00,0x00,0x00,0x00,  //...@...@@........
0x0f,0xf0,0x00,0x00,0xf0,0x00,0xf0,0x00,0x00,  //.@@.....@...@....
0x00,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0x00,  //....@...@...@....
0x00,0x00,0xf0,0x0f,0x00,0x00,0xf0,0x00,0x00,  //....@..@....@....
0x00,0x00,0xff,0xff,0xff,0xff,0xf0,0x00,0x00,  //....@@@@@@@@@....
0x00,0x0f,0xf0,0x00,0x00,0x00,0xf0,0x00,0x00,  //...@@.......@....
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  //.................


/* 录 */
0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,  //........@@@@.....
0x00,0x0f,0xff,0xff,0x00,0xff,0x00,0x00,0x00,  //...@@@@@..@@.....
0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0x00,0x00,  //..........@......
0x00,0x00,0x0f,0xff,0xff,0xf0,0x00,0x00,0x00,  //.....@@@@@@......
0x00,0x00,0x00,0x00,0x00,0xf0,0x0f,0x00,0x00,  //..........@..@...
0x00,0x00,0x0f,0xff,0xff,0xff,0xff,0xf0,0x00,  //.....@@@@@@@@@@..
0x0f,0xff,0xf0,0x0f,0x00,0x00,0x00,0x00,0x00,  //.@@@@..@.........
0x00,0x00,0x00,0x0f,0x00,0x00,0xf0,0x00,0x00,  //.......@....@....
0x00,0x0f,0xf0,0x0f,0xf0,0x0f,0x00,0x00,0x00,  //...@@..@@..@.....
0x00,0x00,0xf0,0x0f,0x0f,0xf0,0x00,0x00,0x00,  //....@..@.@@......
0x00,0x00,0x00,0x0f,0x00,0xf0,0x00,0x00,0x00,  //.......@..@......
0x00,0x00,0x0f,0x0f,0x00,0x0f,0xf0,0x00,0x00,  //.....@.@...@@....
0x00,0x0f,0xf0,0x0f,0x00,0x00,0xff,0xf0,0x00,  //...@@..@....@@@..
0x0f,0xff,0x00,0x0f,0x00,0x00,0x0f,0xff,0xf0,  //.@@@...@.....@@@@
0x00,0x00,0x0f,0xff,0x00,0x00,0x00,0x00,0x00,  //.....@@@.........
0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,  //......@@.........
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  //.................


/* 新 */
0x00,0x00,0x0f,0xf0,0x00,0x00,0x00,0x00,0x00,  //.....@@...........
0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xf0,0x00,  //......@@......@...
0x00,0x00,0x00,0x0f,0x00,0x00,0x0f,0xf0,0x00,  //.......@.....@@...
0x00,0x00,0xff,0xff,0x00,0x00,0xf0,0x00,0x00,  //....@@@@....@.....
0x00,0x00,0x00,0x0f,0x00,0xff,0x00,0x00,0x00,  //.......@..@@......
0x00,0x00,0xf0,0x0f,0x00,0xf0,0x00,0x00,0x00,  //....@..@..@.......
0x00,0x00,0xf0,0xff,0xf0,0xf0,0x00,0xff,0xff,  //....@.@@@.@...@@@@
0x0f,0xff,0xff,0x00,0x00,0xff,0xff,0x00,0x00,  //.@@@@@....@@@@....
0x00,0x00,0x0f,0x00,0x00,0xf0,0x0f,0xf0,0x00,  //.....@....@..@@...
0x00,0x00,0xff,0xff,0x00,0xf0,0x00,0xf0,0x00,  //....@@@@..@...@...
0x00,0x0f,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,  //...@..@...@...@...
0x00,0xf0,0x00,0xff,0xf0,0xf0,0x00,0xf0,0x00,  //..@...@@@.@...@...
0x00,0xf0,0x0f,0xf0,0x00,0xf0,0x00,0xf0,0x00,  //..@..@@...@...@...
0x00,0xf0,0x0f,0x00,0x0f,0x00,0x00,0xf0,0x00,  //..@..@...@....@...
0x00,0x00,0x0f,0x00,0xf0,0x00,0x0f,0x00,0x00,  //.....@..@....@....
0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x00,0x00,  //.............@....
0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x00,0x00,  //.............@....
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  //..................


/* 登 */
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  //..................
0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0x00,0x00,  //..........@.......
0x00,0x00,0x0f,0xf0,0x0f,0x00,0xff,0x00,0x00,  //.....@@..@..@@....
0x00,0x00,0xf0,0xf0,0xf0,0x00,0xf0,0x00,0x00,  //....@.@.@...@.....
0x00,0x00,0x0f,0x00,0x0f,0xff,0x00,0x00,0x00,  //.....@...@@@......
0x00,0x0f,0x0f,0x00,0x00,0xf0,0x00,0x00,0x00,  //...@.@....@.......
0x00,0x00,0xf0,0x00,0x00,0x0f,0x00,0x00,0x00,  //....@......@......
0x00,0x00,0xff,0xff,0xf0,0x00,0xff,0x00,0x00,  //....@@@@@...@@....
0x00,0x0f,0x00,0x00,0x00,0x00,0x0f,0xff,0x00,  //...@.........@@@..
0x00,0xf0,0x00,0x00,0xff,0xff,0x00,0xff,0xf0,  //..@.....@@@@..@@@.
0x0f,0x00,0x0f,0xff,0x00,0xf0,0x00,0x00,0x00,  //.@...@@@..@.......
0xf0,0x00,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,  //@....@...@........
0x00,0x00,0x0f,0xff,0xf0,0x00,0x00,0x00,0x00,  //.....@@@@.........
0x00,0x00,0x0f,0x00,0x0f,0xf0,0x00,0x00,0x00,  //.....@...@@.......
0x00,0x00,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,  //.....@...@........
0x00,0x00,0x00,0x00,0xf0,0xff,0xff,0x00,0x00,  //........@.@@@@....
0x00,0xff,0xff,0xff,0x0f,0x00,0x00,0x00,0x00,  //..@@@@@@.@........


/* 码 */
0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xf0,0x00,  //.............@@...
0x00,0x00,0x00,0x00,0x00,0xff,0xf0,0xff,0x00,  //..........@@@.@@..
0x00,0x00,0x0f,0xff,0xf0,0x00,0x00,0xf0,0x00,  //.....@@@@.....@...
0x00,0x00,0xff,0x00,0x00,0xff,0x00,0xf0,0x00,  //....@@....@@..@...
0x00,0x00,0x0f,0x00,0x00,0xf0,0x00,0xf0,0x00,  //.....@....@...@...
0x00,0x00,0x0f,0x00,0x00,0xf0,0x00,0xf0,0x00,  //.....@....@...@...
0x00,0x00,0xf0,0x00,0x00,0xf0,0x0f,0x00,0x00,  //....@.....@..@....
0x00,0x0f,0xff,0xff,0x00,0xf0,0x0f,0x0f,0xf0,  //...@@@@@..@..@.@@.
0x00,0x0f,0x00,0x0f,0x00,0xff,0xf0,0xf0,0x0f,  //...@...@..@@@.@..@
0x00,0xff,0x00,0xf0,0x00,0x00,0x00,0x00,0x0f,  //..@@..@..........@
0x00,0xf0,0xff,0x00,0x00,0x00,0x00,0xf0,0x0f,  //..@.@@........@..@
0xff,0x00,0x00,0x00,0xff,0xff,0xff,0x0f,0xff,  //@@......@@@@@@.@@@
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,  //................@.
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,  //................@.
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xf0,  //..............@@@.
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x00,  //...............@..
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  //..................


/* 误 */
0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x00,0x00,  //.............@....
0x00,0x0f,0xff,0x00,0xff,0xff,0xff,0xf0,0x00,  //...@@@..@@@@@@@...
0x00,0x00,0xff,0x00,0x0f,0x00,0x0f,0x00,0x00,  //....@@...@...@....
0x00,0x00,0x00,0x00,0x0f,0x00,0x0f,0x00,0x00,  //.........@...@....
0x00,0x00,0x00,0x00,0x0f,0xff,0xf0,0x00,0x00,  //.........@@@@.....
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  //..................
0x00,0xff,0xf0,0x00,0x00,0xff,0xff,0x00,0x00,  //..@@@.....@@@@....
0xff,0x00,0xf0,0x00,0x0f,0xf0,0x00,0x00,0x00,  //@@..@....@@.......
0x00,0x00,0xf0,0x00,0x00,0xf0,0x00,0x00,0x00,  //....@.....@.......
0x00,0x00,0xf0,0x00,0x00,0xff,0xff,0xff,0xf0,  //....@.....@@@@@@@.
0x00,0x0f,0x0f,0xff,0xff,0xf0,0x00,0x00,0x00,  //...@.@@@@@@.......
0x00,0x0f,0x00,0xf0,0x0f,0x0f,0x00,0x00,0x00,  //...@..@..@.@......
0x00,0x0f,0xff,0x00,0x0f,0x00,0xf0,0x00,0x00,  //...@@@...@..@.....
0x00,0x0f,0xf0,0x00,0xf0,0x00,0x0f,0xf0,0x00,  //...@@...@....@@...
0x00,0x0f,0x00,0x0f,0x00,0x00,0x0f,0xff,0x00,  //...@...@.....@@@..
0x00,0x00,0x00,0xf0,0x00,0x00,0x00,0x0f,0xff,  //......@........@@@


/* 请 */
0x00,0x00,0x00,0x00,0x00,0x0f,0x00,0x00,0x00,  //...........@......
0x00,0x00,0x00,0x00,0x00,0x0f,0x00,0x00,0x00,  //...........@......
0x00,0x00,0xff,0x00,0x00,0x0f,0xff,0xf0,0x00,  //....@@.....@@@@...
0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,  //........@@@@......
0x00,0x00,0x00,0x00,0x00,0x0f,0xff,0x00,0x00,  //...........@@@....
0x00,0x00,0x00,0x00,0x0f,0xff,0x00,0x00,0x00,  //.........@@@......
0x00,0x0f,0xff,0x00,0x00,0x0f,0xff,0xff,0xff,  //...@@@.....@@@@@@@
0x0f,0xf0,0xf0,0xff,0xff,0xf0,0x00,0x00,0x00,  //.@@.@.@@@@@.......
0x00,0x00,0xf0,0x00,0x00,0x0f,0xff,0x00,0x00,  //....@......@@@....
0x00,0x00,0xf0,0x00,0x0f,0xf0,0x0f,0x00,0x00,  //....@....@@..@....
0x00,0x00,0xf0,0x00,0x0f,0xff,0x0f,0x00,0x00,  //....@....@@@.@....
0x00,0x00,0xf0,0xf0,0x0f,0x00,0x0f,0x00,0x00,  //....@.@..@...@....
0x00,0x00,0xff,0xf0,0x0f,0xff,0x0f,0x00,0x00,  //....@@@..@@@.@....
0x00,0x0f,0xff,0x00,0x0f,0x00,0x0f,0x00,0x00,  //...@@@...@...@....
0x00,0x0f,0xf0,0x00,0x0f,0x00,0x0f,0x00,0x00,  //...@@....@...@....
0x00,0x0f,0x00,0x00,0xf0,0x0f,0x0f,0x00,0x00,  //...@....@..@.@....
0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,  //............@@....
0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x00,0x00,  //.............@....


/* 输 */
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  //...................
0x00,0x0f,0xf0,0x00,0x00,0xff,0x00,0x00,0x00,0x00,  //...@@.....@@.......
0x00,0x0f,0xf0,0x00,0x00,0xff,0x00,0x00,0x00,0x00,  //...@@.....@@.......
0x00,0x0f,0x00,0x00,0x00,0xf0,0xf0,0x00,0x00,0x00,  //...@......@.@......
0x00,0x0f,0x0f,0xf0,0x0f,0x00,0x0f,0x00,0x00,0x00,  //...@.@@..@...@.....
0x0f,0xff,0xf0,0x00,0xf0,0x00,0x0f,0xf0,0x00,0x00,  //.@@@@...@....@@....
0x00,0xf0,0xf0,0x00,0xf0,0xff,0xf0,0xff,0x00,0x00,  //..@.@...@.@@@.@@...
0x00,0xf0,0xf0,0xff,0x0f,0x00,0x00,0x0f,0xff,0x00,  //..@.@.@@.@.....@@@.
0x00,0xf0,0xf0,0x00,0x0f,0x00,0x00,0xf0,0x00,0x00,  //..@.@....@....@....
0x0f,0xff,0xff,0xff,0xf0,0xf0,0xf0,0xf0,0x00,0x00,  //.@@@@@@@@.@.@.@....
0x0f,0x00,0xf0,0x0f,0x00,0xf0,0xf0,0xf0,0x00,0x00,  //.@..@..@..@.@.@....
0x00,0x00,0xff,0xff,0xff,0xf0,0xf0,0xf0,0x00,0x00,  //....@@@@@@@.@.@....
0x0f,0xff,0xf0,0x0f,0x00,0xf0,0xf0,0xf0,0x00,0x00,  //.@@@@..@..@.@.@....
0x00,0x00,0xf0,0x0f,0xff,0xf0,0xf0,0xf0,0x00,0x00,  //....@..@@@@.@.@....
0x00,0x00,0xf0,0x0f,0x00,0xf0,0x00,0xff,0x00,0x00,  //....@..@..@...@@...
0x00,0x00,0xf0,0x0f,0x00,0xf0,0x0f,0xf0,0x00,0x00,  //....@..@..@..@@....
0x00,0x00,0xf0,0x00,0x0f,0xf0,0x00,0xf0,0x00,0x00,  //....@....@@...@....
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  //...................


/* 重 */
0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,  //..........@@.....
0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,  //........@@@@.....
0x00,0x00,0x0f,0xff,0xf0,0x00,0x00,0x00,0x00,  //.....@@@@........
0x00,0x00,0x00,0x00,0xf0,0x00,0x00,0xff,0x00,  //........@.....@@.
0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,  //......@@@@@@@@...
0x0f,0xff,0xff,0x00,0xf0,0x00,0x00,0x00,0x00,  //.@@@@@..@........
0x00,0x00,0x00,0x00,0xff,0xff,0xff,0x00,0x00,  //........@@@@@@...
0x00,0x00,0xff,0xff,0xf0,0x00,0xff,0x00,0x00,  //....@@@@@...@@...
0x00,0x00,0xf0,0x0f,0xff,0xf0,0xf0,0x00,0x00,  //....@..@@@@.@....
0x00,0x00,0x0f,0xf0,0xf0,0x00,0xf0,0x00,0x00,  //.....@@.@...@....
0x00,0x00,0x0f,0x00,0xff,0xff,0x00,0x00,0x00,  //.....@..@@@@.....
0x00,0x00,0x0f,0xff,0xf0,0x00,0x00,0x00,0x00,  //.....@@@@........
0x00,0x00,0x00,0x00,0xf0,0xff,0x00,0x00,0x00,  //........@.@@.....
0x00,0x00,0x0f,0xff,0xff,0x00,0x00,0x00,0x00,  //.....@@@@@.......
0x00,0x00,0x00,0x00,0xf0,0x00,0x00,0x00,0x00,  //........@........
0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xf0,0x00,  //........@@@@@@@..
0x00,0x0f,0xff,0xff,0x00,0x00,0x00,0x00,0x00,  //...@@@@@.........


/* 错 */
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  //....................
0x00,0x00,0xf0,0x00,0x00,0x00,0x00,0xff,0x00,0x00,  //....@.........@@....
0x00,0x00,0xff,0x00,0x00,0xf0,0x00,0xff,0x00,0x00,  //....@@....@...@@....
0x00,0x00,0xf0,0x00,0x00,0xff,0x00,0xf0,0x00,0x00,  //....@.....@@..@.....
0x00,0x00,0xf0,0x00,0x00,0x0f,0x00,0xf0,0xf0,0x00,  //....@......@..@.@...
0x00,0x00,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0x00,  //....@@@@..@@@@@@....
0x00,0x0f,0x00,0x00,0x00,0x0f,0x00,0xf0,0x00,0x00,  //...@.......@..@.....
0x00,0xf0,0x00,0x0f,0x00,0x0f,0x00,0xff,0xff,0xf0,  //..@....@...@..@@@@@.
0x00,0xf0,0xff,0xf0,0x00,0xff,0xff,0x00,0x00,0x00,  //..@.@@@...@@@@......
0x0f,0x00,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,  //.@...@...@..........
0x00,0x00,0x0f,0xff,0x00,0xff,0xff,0xff,0xf0,0x00,  //.....@@@..@@@@@@@...
0x00,0x0f,0xff,0x00,0x00,0xf0,0x00,0x0f,0x00,0x00,  //...@@@....@....@....
0x00,0x00,0x0f,0x00,0x00,0xf0,0xff,0x0f,0x00,0x00,  //.....@....@.@@.@....
0x00,0x00,0x0f,0x0f,0x00,0xff,0x00,0x0f,0x00,0x00,  //.....@.@..@@...@....
0x00,0x00,0x0f,0xf0,0x00,0xf0,0x00,0x0f,0xf0,0x00,  //.....@@...@....@@...
0x00,0x00,0xff,0x00,0x00,0xff,0xff,0xff,0xf0,0x00,  //....@@....@@@@@@@...
0x00,0x00,0xf0,0x00,0x00,0x00,0x00,0x0f,0x00,0x00,  //....@..........@....
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  //....................


/* ！ */
0xff,  //@@
0xff,  //@@
0xff,  //@@
0xff,  //@@
0xff,  //@@
0xff,  //@@
0xff,  //@@
0xff,  //@@
0xff,  //@@
0x00,  //..
0x00,  //..
0xff,  //@@
0xff,  //@@
0xff,  //@@


/* ， */
0x00,0xf0,  //..@.
0x0f,0xff,  //.@@@
0x0f,0xf0,  //.@@.
0x00,0xf0,  //..@.
0x0f,0x00,  //.@..
0xf0,0x00,  //@...


};


static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
    {.bitmap_index = 0,	.adv_w = 10, .box_h = 1, .box_w = 2, .ofs_x = 0, .ofs_y = 2},/*( )*/
    {.bitmap_index = 1,	.adv_w = 20, .box_h = 13, .box_w = 20, .ofs_x = 1, .ofs_y = 4},/*(入)*/
    {.bitmap_index = 131,	.adv_w = 20, .box_h = 18, .box_w = 18, .ofs_x = 2, .ofs_y = 1},/*(密)*/
    {.bitmap_index = 293,	.adv_w = 20, .box_h = 17, .box_w = 18, .ofs_x = 2, .ofs_y = 1},/*(录)*/
    {.bitmap_index = 446,	.adv_w = 20, .box_h = 18, .box_w = 18, .ofs_x = 1, .ofs_y = 1},/*(新)*/
    {.bitmap_index = 608,	.adv_w = 20, .box_h = 17, .box_w = 18, .ofs_x = 1, .ofs_y = 2},/*(登)*/
    {.bitmap_index = 761,	.adv_w = 20, .box_h = 17, .box_w = 18, .ofs_x = 0, .ofs_y = 1},/*(码)*/
    {.bitmap_index = 914,	.adv_w = 20, .box_h = 16, .box_w = 18, .ofs_x = 1, .ofs_y = 2},/*(误)*/
    {.bitmap_index = 1058,	.adv_w = 20, .box_h = 18, .box_w = 18, .ofs_x = 1, .ofs_y = 1},/*(请)*/
    {.bitmap_index = 1220,	.adv_w = 20, .box_h = 18, .box_w = 20, .ofs_x = 1, .ofs_y = 1},/*(输)*/
    {.bitmap_index = 1400,	.adv_w = 20, .box_h = 17, .box_w = 18, .ofs_x = 1, .ofs_y = 2},/*(重)*/
    {.bitmap_index = 1553,	.adv_w = 20, .box_h = 18, .box_w = 20, .ofs_x = 0, .ofs_y = 1},/*(错)*/
    {.bitmap_index = 1733,	.adv_w = 20, .box_h = 14, .box_w = 2, .ofs_x = 5, .ofs_y = 3},/*(！)*/
    {.bitmap_index = 1747,	.adv_w = 20, .box_h = 6, .box_w = 4, .ofs_x = 2, .ofs_y = 0},/*(，)*/
};


static const uint16_t unicode_list_1[] = {
    0x0020,	/*( )*/
    0x5165,	/*(入)*/
    0x5bc6,	/*(密)*/
    0x5f55,	/*(录)*/
    0x65b0,	/*(新)*/
    0x767b,	/*(登)*/
    0x7801,	/*(码)*/
    0x8bef,	/*(误)*/
    0x8bf7,	/*(请)*/
    0x8f93,	/*(输)*/
    0x91cd,	/*(重)*/
    0x9519,	/*(错)*/
    0xff01,	/*(！)*/
    0xff0c,	/*(，)*/
    0x0000,    /*End indicator*/
};


static const lv_font_fmt_txt_cmap_t cmaps[] = {
    {
        .range_start = 0x0020,
        .range_length = 0xff0c,
        .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY,
        .glyph_id_start = 0,
        .unicode_list = unicode_list_1,
        .glyph_id_ofs_list = NULL,
        .list_length = 14,
    }
};


static lv_font_fmt_txt_glyph_cache_t glyph_cache;


static lv_font_fmt_txt_dsc_t font_dsc = {
    .glyph_bitmap = glyph_bitmap,
    .glyph_dsc = glyph_dsc,
    .cmaps = cmaps,
    .cmap_num = 1,
    .bpp = 4,

    .kern_scale = 0,
    .kern_dsc = NULL,
    .kern_classes = 0,

    .cache = &glyph_cache,
};


static int binsearch(const uint16_t *sortedSeq, int seqLength, uint16_t keyData) {
    int low = 0, mid, high = seqLength - 1;
    while (low <= high) {
        mid = (low + high)>>1;//右移1位等于是/2，奇数，无论奇偶，有个值就行
        if (keyData < sortedSeq[mid]) {
            high = mid - 1;//是mid-1，因为mid已经比较过了
        }
        else if (keyData > sortedSeq[mid]) {
            low = mid + 1;
        }
        else {
            return mid;
        }
    }
    return -1;
}


static const uint8_t * __user_font_get_bitmap(const lv_font_t * font, uint32_t unicode_letter) {
    lv_font_fmt_txt_dsc_t * fdsc = (lv_font_fmt_txt_dsc_t *) font->dsc;

    if( unicode_letter<fdsc->cmaps[0].range_start || unicode_letter>fdsc->cmaps[0].range_length ) return false;

    int i;
    if( unicode_letter==fdsc->cache->last_letter ){
        i = fdsc->cache->last_glyph_id;
    }
    else{
        i = binsearch(fdsc->cmaps[0].unicode_list, fdsc->cmaps[0].list_length, unicode_letter);
    }
    if( i != -1 ) {
        const lv_font_fmt_txt_glyph_dsc_t * gdsc = &fdsc->glyph_dsc[i];
        fdsc->cache->last_glyph_id = i;
        fdsc->cache->last_letter = unicode_letter;
        return &fdsc->glyph_bitmap[gdsc->bitmap_index];
    }
    return NULL;
}


static bool __user_font_get_glyph_dsc(const lv_font_t * font, lv_font_glyph_dsc_t * dsc_out, uint32_t unicode_letter, uint32_t unicode_letter_next) {
    lv_font_fmt_txt_dsc_t * fdsc = (lv_font_fmt_txt_dsc_t *) font->dsc;

    if( unicode_letter<fdsc->cmaps[0].range_start || unicode_letter>fdsc->cmaps[0].range_length ) return false;

    int i;
    if( unicode_letter==fdsc->cache->last_letter ){
        i = fdsc->cache->last_glyph_id;
    }
    else{
        i = binsearch(fdsc->cmaps[0].unicode_list, fdsc->cmaps[0].list_length, unicode_letter);
    }
    if( i != -1 ) {
        const lv_font_fmt_txt_glyph_dsc_t * gdsc = &fdsc->glyph_dsc[i];
        fdsc->cache->last_glyph_id = i;
        fdsc->cache->last_letter = unicode_letter;
        dsc_out->adv_w = gdsc->adv_w;
        dsc_out->box_h = gdsc->box_h;
        dsc_out->box_w = gdsc->box_w;
        dsc_out->ofs_x = gdsc->ofs_x;
        dsc_out->ofs_y = gdsc->ofs_y;
        dsc_out->bpp   = fdsc->bpp;
        return true;
    }
    return false;
}


//楷体,Regular,12
//字模高度：20
//内部字体
//使用排序和二分查表
const lv_font_t user_login_name_12 = {
    .dsc = &font_dsc,
    .get_glyph_bitmap = __user_font_get_bitmap,
    .get_glyph_dsc = __user_font_get_glyph_dsc,
    .line_height = 20,
    .base_line = 0,
};

